home *** CD-ROM | disk | FTP | other *** search
/ Suzy B Software 2 / Suzy B Software CD-ROM 2 (1994).iso / extras / programm / gemfsc20 / gemfsc20.lzh / GEMFBIND / VSTHEIGH.S < prev    next >
Text File  |  1993-03-26  |  2KB  |  57 lines

  1. ;*========================================================================
  2. ;* VDIFAST Public Domain VDI bindings.
  3. ;*========================================================================
  4.  
  5.  
  6. ;*------------------------------------------------------------------------
  7. ;* Set character height, absolute mode.
  8. ;*------------------------------------------------------------------------
  9.  
  10.           globl     _vst_height
  11. _vst_height:
  12. ;      .cargs      #8,handle.w,height.w,charw.l,charh.l,cellw.l,cellh.l
  13.  
  14. handle      =         8
  15. height      =         10
  16. charw      =         12
  17. charh      =         16
  18. cellw      =         20
  19. cellh      =         24
  20.  
  21.           link        a6,#-8                ;* Allocate ptsout[4].
  22.  
  23.           move.w    height(a6),-(sp)    ;* ptsin[1] = height.
  24.           clr.w     -(sp)                ;* ptsin[0] = 0.
  25.           move.l    sp,a0                ;* Save a pointer to ptsin.
  26.  
  27. ;          VContrl    #12,,#1
  28.           move.w    handle(a6),-(sp)    ; contrl[6]
  29.           clr.l     -(sp)                ; contrl[5,4]
  30.           clr.l     -(sp)                ; contrl[3,2]
  31.           move.w    #1,-(sp)            ; contrl[1]
  32.           move.w    #12,-(sp)            ; contrl[0]
  33.  
  34.           pea        -8(a6)                ;* -> ptsout
  35.           subq.l    #4,sp                ;* -> intout
  36.           move.l    a0,-(sp)            ;* -> ptsin
  37.           subq.l    #4,sp                ;* -> intin
  38.           pea        16(sp)                ;* -> contrl
  39.  
  40.           move.l    sp,d1
  41.           jsr        vditrap
  42.  
  43.           lea        -8(a6),a1            ;* a1 -> ptsout[0] on stack.
  44.           move.l    charw(a6),a0        ;* Return character width
  45.           move.w    (a1)+,(a0)            ;* from ptsout[0].
  46.           move.l    charh(a6),a0        ;* Return character height
  47.           move.w    (a1)+,(a0)            ;* from ptsout[1].
  48.           move.l    cellw(a6),a0        ;* Return cell width
  49.           move.w    (a1)+,(a0)            ;* from ptsout[2].
  50.           move.l    cellh(a6),a0        ;* Return cell height
  51.           move.w    (a1),(a0)            ;* from ptsout[3].
  52.  
  53.           unlk        a6
  54.           rts
  55.  
  56.           end
  57.